/** 
 * Project Name : cloudlead-utils-lang 
 * File Name : RemoteFile.java 
 * Package Name : com.cloudlead.utils.lang.ssh 
 * Date : 2014年7月15日上午9:45:57 
 * Copyright (c) 2014, cloudlead.com.cn All Rights Reserved. 
 * 
 */
package com.cloudlead.utils.lang.ssh;

/**
 * 远程服务器文件
 * 
 * @Description 远程服务器文件
 * 
 * @date 2014年7月15日 上午9:45:57
 * @author 陆林(lulin@cloudlead-partners.com)
 * @version 2.0
 * @since 2.0
 */
public class RemoteFile {

	private String name;

	private String path;

	private long size;

	private boolean isFile;

	private boolean isDirectory;

	private boolean isLink;

	private int permissions;

	private String permissionsStr;

	private byte[] data;

	/**
	 * @return 返回 name 的值
	 */
	public String getName() {
		return name;
	}

	/**
	 * @param name
	 *            设定 name 的值
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * @return 返回 path 的值
	 */
	public String getPath() {
		return path;
	}

	/**
	 * @param path
	 *            设定 path 的值
	 */
	public void setPath(String path) {
		this.path = path;
	}

	/**
	 * @return 返回 size 的值
	 */
	public long getSize() {
		return size;
	}

	/**
	 * @param size
	 *            设定 size 的值
	 */
	public void setSize(long size) {
		this.size = size;
	}

	/**
	 * @return 返回 isFile 的值
	 */
	public boolean isFile() {
		return isFile;
	}

	/**
	 * @param isFile
	 *            设定 isFile 的值
	 */
	public void setFile(boolean isFile) {
		this.isFile = isFile;
	}

	/**
	 * @return 返回 isDirectory 的值
	 */
	public boolean isDirectory() {
		return isDirectory;
	}

	/**
	 * @param isDirectory
	 *            设定 isDirectory 的值
	 */
	public void setDirectory(boolean isDirectory) {
		this.isDirectory = isDirectory;
	}

	/**
	 * @return 返回 isLink 的值
	 */
	public boolean isLink() {
		return isLink;
	}

	/**
	 * @param isLink
	 *            设定 isLink 的值
	 */
	public void setLink(boolean isLink) {
		this.isLink = isLink;
	}

	/**
	 * @return 返回 permissions 的值
	 */
	public int getPermissions() {
		return permissions;
	}

	/**
	 * @param permissions
	 *            设定 permissions 的值
	 */
	public void setPermissions(int permissions) {
		this.permissions = permissions;
	}

	/**
	 * @return 返回 permissionsStr 的值
	 */
	public String getPermissionsStr() {
		return permissionsStr;
	}

	/**
	 * @param permissionsStr
	 *            设定 permissionsStr 的值
	 */
	public void setPermissionsStr(String permissionsStr) {
		this.permissionsStr = permissionsStr;
	}

	/**
	 * @return 返回 data 的值
	 */
	public byte[] getData() {
		return data;
	}

	/**
	 * @param data
	 *            设定 data 的值
	 */
	public void setData(byte[] data) {
		this.data = data;
	}

	/*
	 * @see java.lang.Object#toString()
	 */
	@Override
	public String toString() {
		return String
				.format("RemoteFile {name=%s, path=%s, size=%s, isFile=%s, isDirectory=%s, isLink=%s}",
						name, path, size, isFile, isDirectory, isLink);
	}

}
